Revert changes for bug 567124. Instead of trying to avoid
authorMatthias Clasen <matthiasc@src.gnome.org>
Sun, 25 Jan 2009 03:38:27 +0000 (03:38 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Sun, 25 Jan 2009 03:38:27 +0000 (03:38 +0000)
        setting up the im context before the widget is realized, just
        reset it when the client window is set.

        * gtk/gtkimmulticontext.c: Reset the slave when a client window
        is set.

        * gtk/gtkimmodule.c
        * gtk/gtktextview.c: Revert changes for bug 567124.

svn path=/trunk/; revision=22214

ChangeLog
gtk/gtkimmodule.c
gtk/gtkimmulticontext.c
gtk/gtktextview.c

index 0b6c89b8a57ff4252447fbafaf76c39f57078ac0..9e1771a68b7920b03ce8cc655038ddb68a2a381c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2009-01-24  Matthias Clasen  <mclasen@redhat.com>
+
+       Revert changes for bug 567124. Instead of trying to avoid
+       setting up the im context before the widget is realized, just
+       reset it when the client window is set.
+
+       * gtk/gtkimmulticontext.c: Reset the slave when a client window
+       is set.
+
+       * gtk/gtkimmodule.c
+       * gtk/gtktextview.c: Revert changes for bug 567124.
+
 2009-01-25  Claudio Saavedra  <csaavedra@igalia.com>
 
        * gtk/gtktreeview.c: Use gtk-doc syntax to refer to properties in
index 274166d362fa6311a3c633af899bd7fddeb00e7d..58ed584116c3df1ebac3cbfaf6e1ac511544085c 100644 (file)
@@ -671,9 +671,6 @@ _gtk_im_module_get_default_context_id (GdkWindow *client_window)
   GdkScreen *screen;
   GtkSettings *settings;
       
-  /* assertion to make sure all of the unexpected invocation is really gone. */
-  g_return_val_if_fail (client_window != NULL, SIMPLE_ID);
-
   if (!contexts_hash)
     gtk_im_module_initialize ();
 
index f48fc84665d9f7943798723c1cdde48f98a012d2..034582053dfd47cb1c4cf91962d27acd2e62fb24 100644 (file)
@@ -226,7 +226,7 @@ gtk_im_multicontext_get_slave (GtkIMMulticontext *multicontext)
   if (!multicontext->slave)
     {
       GtkIMContext *slave;
-
+      
       g_free (multicontext->context_id);
        
       if (multicontext->priv->context_id)
@@ -258,17 +258,13 @@ gtk_im_multicontext_set_client_window (GtkIMContext *context,
                                       GdkWindow    *window)
 {
   GtkIMMulticontext *multicontext = GTK_IM_MULTICONTEXT (context);
-  GtkIMContext *slave; 
   GdkScreen *screen; 
   GtkSettings *settings;
   gboolean connected;
 
   multicontext->priv->client_window = window;
 
-  slave = gtk_im_multicontext_get_slave (multicontext);
-
-  if (slave)
-    gtk_im_context_set_client_window (slave, window);
+  gtk_im_multicontext_set_slave (multicontext, NULL, FALSE);
 
   if (window == NULL) 
     return;
index 6d281fd5fc2eebb9dfe19606a3f384c85d66d67d..fa494140d0f41142d70196d92b7d6a14a253ef09 100644 (file)
@@ -2076,8 +2076,7 @@ gtk_text_view_update_im_spot_location (GtkTextView *text_view)
    */
   area.width = 0;
 
-  if (GTK_WIDGET_REALIZED (text_view))
-    gtk_im_context_set_cursor_location (text_view->im_context, &area);
+  gtk_im_context_set_cursor_location (text_view->im_context, &area);
 }
 
 static gboolean
@@ -3840,7 +3839,7 @@ gtk_text_view_realize (GtkWidget *widget)
     }
 
   /* Ensure updating the spot location. */
-  gtk_text_view_update_im_spot_location(text_view);
+  gtk_text_view_update_im_spot_location (text_view);
 }
 
 static void